package michal.GUI;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import michal.turniej.*;

import blazej.gui.ZawodnikGUI;

import com.jgoodies.forms.layout.FormLayout;
import com.jgoodies.forms.layout.ColumnSpec;
import com.jgoodies.forms.layout.RowSpec;
import com.jgoodies.forms.factories.FormFactory;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.Color;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class TurniejGUI extends JFrame {
	Turniej turniej;
	private JPanel contentPane;
	private JTextField txtCwiercfinalista1;
	private JTextField txtPolfinalista1;
	private JTextField textCwiercfinalista2;
	private JTextField textFinalista1;
	private JTextField textCwiercfinalista3;
	private JTextField textPolfinalista2;
	private JTextField textCwiercfinalista4;
	private JTextField textZwyciezca;
	private JTextField textCwiercfinalista5;
	private JTextField textPolfinalista3;
	private JTextField textCwiercfinalista6;
	private JTextField textFinalista2;
	private JTextField txtCwiercfinalista7;
	private JTextField textPolfinalista4;
	private JTextField textCwiercfinalista8;
	private JButton btnZamknij;
	int przycisk;

	public TurniejGUI(Turniej turniej1){
		this.turniej = turniej1;
		
		setTitle("Turniej");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 1000, 519);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		contentPane.setLayout(new BorderLayout(0, 0));
		setContentPane(contentPane);
		
		JPanel panel = new JPanel();
		contentPane.add(panel, BorderLayout.CENTER);
		panel.setLayout(new FormLayout(new ColumnSpec[] {
				FormFactory.RELATED_GAP_COLSPEC,
				FormFactory.DEFAULT_COLSPEC,
				FormFactory.RELATED_GAP_COLSPEC,
				ColumnSpec.decode("max(99dlu;default):grow"),
				FormFactory.RELATED_GAP_COLSPEC,
				ColumnSpec.decode("max(112dlu;default):grow"),
				FormFactory.RELATED_GAP_COLSPEC,
				ColumnSpec.decode("max(88dlu;default):grow"),
				FormFactory.RELATED_GAP_COLSPEC,
				ColumnSpec.decode("max(83dlu;default):grow"),},
			new RowSpec[] {
				FormFactory.RELATED_GAP_ROWSPEC,
				FormFactory.DEFAULT_ROWSPEC,
				FormFactory.RELATED_GAP_ROWSPEC,
				FormFactory.DEFAULT_ROWSPEC,
				FormFactory.RELATED_GAP_ROWSPEC,
				FormFactory.DEFAULT_ROWSPEC,
				FormFactory.RELATED_GAP_ROWSPEC,
				FormFactory.DEFAULT_ROWSPEC,
				FormFactory.RELATED_GAP_ROWSPEC,
				FormFactory.DEFAULT_ROWSPEC,
				FormFactory.RELATED_GAP_ROWSPEC,
				FormFactory.DEFAULT_ROWSPEC,
				FormFactory.RELATED_GAP_ROWSPEC,
				FormFactory.DEFAULT_ROWSPEC,
				FormFactory.RELATED_GAP_ROWSPEC,
				FormFactory.DEFAULT_ROWSPEC,
				FormFactory.RELATED_GAP_ROWSPEC,
				FormFactory.DEFAULT_ROWSPEC,
				FormFactory.RELATED_GAP_ROWSPEC,
				FormFactory.DEFAULT_ROWSPEC,
				FormFactory.RELATED_GAP_ROWSPEC,
				FormFactory.DEFAULT_ROWSPEC,
				FormFactory.RELATED_GAP_ROWSPEC,
				FormFactory.DEFAULT_ROWSPEC,
				FormFactory.RELATED_GAP_ROWSPEC,
				FormFactory.DEFAULT_ROWSPEC,
				FormFactory.RELATED_GAP_ROWSPEC,
				FormFactory.DEFAULT_ROWSPEC,
				FormFactory.RELATED_GAP_ROWSPEC,
				FormFactory.DEFAULT_ROWSPEC,
				FormFactory.RELATED_GAP_ROWSPEC,
				FormFactory.DEFAULT_ROWSPEC,
				FormFactory.RELATED_GAP_ROWSPEC,
				FormFactory.DEFAULT_ROWSPEC,
				FormFactory.RELATED_GAP_ROWSPEC,
				FormFactory.DEFAULT_ROWSPEC,}));
		
		JLabel lblCwiercfinal = new JLabel("Cwiercfinal");
		panel.add(lblCwiercfinal, "4, 2, center, default");
		
		JLabel lblPolfinal = new JLabel("Polfinal");
		panel.add(lblPolfinal, "6, 2, center, default");
		
		JLabel lblFinal = new JLabel("Final");
		panel.add(lblFinal, "8, 2, center, default");
		
		JLabel lblZwyciezca = new JLabel("Zwyciezca");
		panel.add(lblZwyciezca, "10, 2, center, default");
		
		JLabel lblZawodnik1 = new JLabel("Zawodnik1");
		panel.add(lblZawodnik1, "2, 4, right, default");
		
		txtCwiercfinalista1 = new JTextField();
		txtCwiercfinalista1.setEditable(false);
		panel.add(txtCwiercfinalista1, "4, 4, fill, default");
		txtCwiercfinalista1.setColumns(10);
		txtCwiercfinalista1.setText(turniej1.getCwiercfinalowy1().getZwyciezcaMeczu().getDruzyna().getZawodnik1().getNazwisko() + "(" + turniej1.getCwiercfinalowy1().getZwyciezcaMeczu().getUmiejetnosc() + ")" );

		txtPolfinalista1 = new JTextField();
		txtPolfinalista1.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent e) {
				if(e.getClickCount() == 2 && e.getButton() == MouseEvent.BUTTON1){
					ZawodnikGUI zawodnik1 = new ZawodnikGUI();
					zawodnik1.setVisible(true);
				}
			}
		});
		panel.add(txtPolfinalista1, "6, 6, fill, default");
		txtPolfinalista1.setColumns(10);
		
		JLabel lblZawodnik2 = new JLabel("Zawodnik2");
		panel.add(lblZawodnik2, "2, 8, right, default");
		
		textCwiercfinalista2 = new JTextField();
		textCwiercfinalista2.setText("Bartek Bartoszewski" + "(" + turniej1.getCwiercfinalowy1().getZwyciezcaMeczu().getUmiejetnosc()+ ")");
		textCwiercfinalista2.setEditable(false);
		panel.add(textCwiercfinalista2, "4, 8, fill, default");
		textCwiercfinalista2.setColumns(10);
		
		textFinalista1 = new JTextField();
		textFinalista1.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent e) {
				if(e.getClickCount() == 2 && e.getButton() == MouseEvent.BUTTON1 ){
					ZawodnikGUI zawodnik2 = new ZawodnikGUI(turniej.getFinalowy().getZwyciezcaMeczu().getDruzyna().getZawodnik1());
					zawodnik2.setVisible(true);
				}
			}
		});
		textFinalista1.setBackground(Color.YELLOW);
		panel.add(textFinalista1, "8, 10, fill, default");
		textFinalista1.setColumns(10);
		
		JLabel lblZawodnik3 = new JLabel("Zawodnik3");
		panel.add(lblZawodnik3, "2, 12, right, default");
		
		textCwiercfinalista3 = new JTextField();
		textCwiercfinalista3.setText("Cyran Cyranowski" + "(" + turniej1.getCwiercfinalowy2().getZwyciezcaMeczu().getUmiejetnosc() + ")");
		textCwiercfinalista3.setEditable(false);
		panel.add(textCwiercfinalista3, "4, 12, fill, default");
		textCwiercfinalista3.setColumns(10);
		
		textPolfinalista2 = new JTextField();
		textPolfinalista2.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent e) {
				if(e.getClickCount() == 2 && e.getButton() == MouseEvent.BUTTON1){
					ZawodnikGUI zawodnik3 = new ZawodnikGUI(turniej.getPolfinalowy1().getZwyciezcaMeczu().getDruzyna().getZawodnik1());
					zawodnik3.setVisible(true);
				}
			}
		});
		panel.add(textPolfinalista2, "6, 14, fill, default");
		textPolfinalista2.setColumns(10);
		
		JLabel lblZawodnik4 = new JLabel("Zawodnik4");
		panel.add(lblZawodnik4, "2, 16, right, default");
		
		textCwiercfinalista4 = new JTextField();
		textCwiercfinalista4.setText("Dariusz Dariuszewski" + "(" + turniej1.getCwiercfinalowy2().getZwyciezcaMeczu().getUmiejetnosc() + ")");
		textCwiercfinalista4.setEditable(false);
		panel.add(textCwiercfinalista4, "4, 16, fill, default");
		textCwiercfinalista4.setColumns(10);
		
		textZwyciezca = new JTextField();
		textZwyciezca.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent e) {
				if(e.getClickCount() == 2 && e.getButton() == MouseEvent.BUTTON1 ){
					ZawodnikGUI zawodnik4 = new ZawodnikGUI(turniej.getZwyciezcaTurnieju());
					zawodnik4.setVisible(true);
				}
			}
		});
		textZwyciezca.setBackground(Color.ORANGE);
		panel.add(textZwyciezca, "10, 18, fill, default");
		textZwyciezca.setColumns(10);
		
		JLabel lblZawodnik5 = new JLabel("Zawodnik5");
		panel.add(lblZawodnik5, "2, 20, right, default");
		
		textCwiercfinalista5 = new JTextField();
		textCwiercfinalista5.setText("Eugeniusz Eugeniuszewski" + "(" + turniej1.getCwiercfinalowy3().getZwyciezcaMeczu().getUmiejetnosc() + ")");
		textCwiercfinalista5.setEditable(false);
		panel.add(textCwiercfinalista5, "4, 20, fill, default");
		textCwiercfinalista5.setColumns(10);
		
		textPolfinalista3 = new JTextField();
		textPolfinalista3.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent e) {
				if(e.getClickCount() == 2 && e.getButton() == MouseEvent.BUTTON1){
					ZawodnikGUI zawodnik5 = new ZawodnikGUI(turniej.getPolfinalowy2().getZwyciezcaMeczu().getDruzyna().getZawodnik1());
					zawodnik5.setVisible(true);
				}
			}
		});
		panel.add(textPolfinalista3, "6, 22, fill, default");
		textPolfinalista3.setColumns(10);
		
		JLabel lblZawodnik6 = new JLabel("Zawodnik6");
		panel.add(lblZawodnik6, "2, 24, right, default");
		
		textCwiercfinalista6 = new JTextField();
		textCwiercfinalista6.setText("Franciszek Franciszkanski" + "(" + turniej1.getCwiercfinalowy3().getZwyciezcaMeczu().getUmiejetnosc() + ")");
		textCwiercfinalista6.setEditable(false);
		panel.add(textCwiercfinalista6, "4, 24, fill, default");
		textCwiercfinalista6.setColumns(10);
		
		textFinalista2 = new JTextField();
		textFinalista2.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent e) {
				if(e.getClickCount() == 2 && e.getButton() == MouseEvent.BUTTON1 ){
					ZawodnikGUI zawodnik6 = new ZawodnikGUI(turniej1.getFinalowy().getZwyciezcaMeczu().getDruzyna().getZawodnik2());
					zawodnik6.setVisible(true);
				}
			}
		});
		textFinalista2.setBackground(Color.YELLOW);
		panel.add(textFinalista2, "8, 26, fill, default");
		textFinalista2.setColumns(10);
		
		JLabel lblZawodnik7 = new JLabel("Zawodnik7");
		panel.add(lblZawodnik7, "2, 28, right, default");
		
		txtCwiercfinalista7 = new JTextField();
		txtCwiercfinalista7.setText("Ignacy Ignacowski" + "(" + turniej1.getCwiercfinalowy4().getZwyciezcaMeczu().getUmiejetnosc() + ")");
		txtCwiercfinalista7.setEditable(false);
		panel.add(txtCwiercfinalista7, "4, 28, fill, default");
		txtCwiercfinalista7.setColumns(10);
		
		textPolfinalista4 = new JTextField();
		textPolfinalista4.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent e) {
				if(e.getClickCount() == 2 && e.getButton() == MouseEvent.BUTTON1){
					ZawodnikGUI zawodnik7 = new ZawodnikGUI(turniej.getPolfinalowy2().getZwyciezcaMeczu().getDruzyna().getZawodnik2());
					zawodnik7.setVisible(true);
				}
			}
		});
		panel.add(textPolfinalista4, "6, 30, fill, default");
		textPolfinalista4.setColumns(10);
		
		JLabel lblZawodnik8 = new JLabel("Zawodnik8");
		panel.add(lblZawodnik8, "2, 32, right, default");
		
		textCwiercfinalista8 = new JTextField();
		textCwiercfinalista8.setText("Kacper Kacprowski" + "(" + turniej1.getCwiercfinalowy4().getZwyciezcaMeczu().getUmiejetnosc() + ")");
		textCwiercfinalista8.setEditable(false);
		panel.add(textCwiercfinalista8, "4, 32, fill, default");
		textCwiercfinalista8.setColumns(10);
		
		JButton btnRozegrajNastepnaRunde = new JButton("Rozegraj Nastepna Runde");
		btnRozegrajNastepnaRunde.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent e) {
				przycisk++;
				nastepnaRunda();
				if (przycisk == 3){
					btnRozegrajNastepnaRunde.setEnabled(false);
				}
			}
		});
		
		panel.add(btnRozegrajNastepnaRunde, "8, 36");
		
		btnZamknij = new JButton("Zamknij");
		btnZamknij.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent e) {
				if(e.getClickCount() == 1){
					dispose();
				}
			}
		});
		btnZamknij.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
			}
		});
		panel.add(btnZamknij, "10, 36");
	}
	public void nastepnaRunda(){
		if (przycisk == 1){
			txtCwiercfinalista1
		}
	}

}
